<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Promise</h1>


    <script>
    const p1 = new Promise(function (resolve, reject) {
        // ...
        console.log("我是p1");
        // resolve('cc')
        reject('sss');
    });

    const p2 = new Promise(function (resolve, reject) {
        // ...
        console.log('我是p2里的p1',p1);
        resolve(p1);
        // reject(p1);
    })
    console.log("我是p1",p1);
    console.log("我是p2",p2);

setTimeout(()=>{
    console.log("我是p2",p2);
},2000);

// 这块代码 非常有助于你去理解promise 

// 当前所有的promise 状态 都是 pending状态 
// 虽然 P2 有个resolve 但是 p2的状态由p1决定
// p2 一直在等着p1 做出反应 
// 但是 所有的log 都打印了，没有阻碍到进程的执行
// 如状态1 

// 状态2是当 p1处于完成了 成功状态
// 这时p1里的回调方法里的值 cc 就是传送下去的值


// 状态1
// 我是p1
// 6_Promise状态.html:22 我是p2里的p1 Promise {<pending>}
// 6_Promise状态.html:25 我是p1 Promise {<pending>}
// 6_Promise状态.html:26 我是p2 Promise {<pending>}
// 6_Promise状态.html:29 我是p2 Promise {<pending>}


// 状态2 
// 我是p1
// 6_Promise状态.html:22 我是p2里的p1 Promise {<fulfilled>: "cc"}
// 6_Promise状态.html:25 我是p1 Promise {<fulfilled>: "cc"}
// 6_Promise状态.html:26 我是p2 Promise {<pending>}
// 6_Promise状态.html:29 我是p2 Promise {<fulfilled>: "cc"}

    </script>
</body>
</html>